// 1.Express简介
    // 官方给出的概念：Express是基于Node.js平台，快速、开放、极简的Web开发框架。
    // 通俗理解：Express的作用和Node.js内置的http模块类似，是专门用来创建Web服务器的。
    // Express的本质：就是一个npm上的第三方包，提供了快速创建Web服务器的便捷方法。

    // Express的中文官网：https://www.expressjs.com.cn/



    // Express能做什么
    // 对于前端程序员来说，最常见的两种服务器，分别是：
        // Web网站服务器：专门对外提供Web网页资源的服务器。
        // API接口服务器：专门对外提供API接口的服务器。
    // Express集可以做Web网站服务器也可以做API接口服务器



// 2.Express的基本安装
    // 1.在项目所处目录中，运行如下的终端命令，既可将express安装到项目中使用：
        // npm i express@4.17.1
    
    // 2.创建最基本的Web服务器
        // 1.导入express
            const express = require('express');
        // 2.创建web服务器
            const app = express();

        // 3.引入路径处理模块
            const path = require('path');

        // 3-1.引入post请求模块
            const bodyParser = require('body-Parser');

        // 4.静态资源池配置
            app.use(express.static(path.join(__dirname, 'public')));

        // 4-1配置post请求
            app.use(bodyParser.urlencoded());
        
        // 5.调用app.listen(端口号，启动成功后的回调函数)，启动服务器
            app.listen(80, ()=> {
                console.log('启动服务器成功')
            })


    // 3.在命令行启动第二步创建的文件
        // node 文件名
        // 例如：
            // node .\express_server.js



    
    // 4.监听GET请求
        // 通过app.get()方法，可以监听客户端的GET请求，具体的语法格式如下：
            // 参数1：客户端请求的URL地址
            // 参数2：请求对应的处理函数
                // req：请求对象(包含了与请求相关的属性与方法)
                // res：响应对象(包含了与响应相关的属性与方法)
        
        app.get('请求URL', function(req, res) {
            // 处理函数
        })



    // 5.监听POST请求
        // 通过app.post()方法，可以监听客户端的GET请求，具体的语法格式如下：
            // 参数1：客户端请求的URL地址
            // 参数2：请求对应的处理函数
                // req：请求对象(包含了与请求相关的属性与方法)
                // res：响应对象(包含了与响应相关的属性与方法)
        
        app.post('请求URL', function(req, res) {
            // 处理函数
        })




    // 6.把内容响应给客户端
        // 通过res.send()方法，可以吧处理好的内容，发送给客户端：
        app.get('/user', (req, res) => {
            res.send({name : '张三', age : 18, sex : female})
        })

        app.post('/user', (req, res) => {
            res.send('请求成功')
        })



    // 7.获取客户端发送过来的数据，然后返回给客户端(get)
        app.get('/get', (req, res) => {
            res.send(req.query);
        })


    // 8.获取客户端发送过来的数据，然后返回给客户端(post)
        app.post('/post', (req, res) => {
            res.send(req.query);
        })